var express = require('express');
var router = express.Router();
const { formidable } = require("formidable") //最新版本的需要解构出来
const fs = require("fs");

/* GET users listing. */
router.post('/', (req, res, next) => {
  const form = formidable({ 
    multiples: true, 
    uploadDir:__dirname + "/../public/images", //存放路径
    keepExtensions: true, //保持文件后缀名
  });
  console.log(new Date());
  // fields普通参数 files文件
  form.parse(req, (err, fields, files) => {
    if (err) {
      // next(err);
      res.json({ 
        resCode:"1",
        msg:"数据读取失败！",
      });
      return;
    }
    console.log(files);
    // 在前端直接访问刚刚上传的数据 可有URL 其中/指向的是public文件夹 如 http://127.0.0.1:3000/images/18674167d277a3da299c9b000.png
    // 服务器保存上传图片的URL路径 只保存后面的路径 IP拼接即可 将来可能会变
    let {newFilename} = files.files[0]
    let url = "/images" + newFilename  //将来保存在数据库
    // 多次调用res.send json write等方法时会 Cannot set headers after they are sent to the client
    // res.json({ fields, url });
    res.json({ 
      resCode:"0",
      msg:"数据读取成功！",
      data:{
        fields,
        url,
      }
    });

  });
});

module.exports = router;
